package com.suray.basic.wcs.utils;

/**
 * 路径规划中的动作
 */
public enum Action {
    /**
     * 托盘升
     */
    PALLET_UP("托盘升"),
    /**
     * 托盘降
     */
    PALLET_DOWN("托盘降"),
    /**
     * 请求提升机(层数由当前节点决定)
     */
    ASSIGN_LIFTER("请求提升机"),
    /**
     * 小车进提升机并到位到位
     */
    RGV_INSIDE_LIFTER("小车进提升机并到位"),
    /**
     * 小车驶离提升机
     */
    RGV_OUTSIDE_LIFTER("小车驶离提升机"),
    /**
     * 原地等待一段时间
     */
    WAIT("原地等待一段时间"),
    /**
     * 低速行驶
     */
    LOW_SPEED("低速行驶"),
    /**
     * 先低速后高速行驶
     */
    LOW_SPEED_THEN_HIGH_SPEED("先低速后高速行驶"),
    /**
     * 实时监控小车位置, 判定离开提升机后解锁提升机资源, 并发出离开提升机PLC指令
     */
    UNLOCK_LIFTER_IF_OUTSIDE("实时监控小车位置, 判定离开提升机后解锁提升机资源, 并发出离开提升机PLC指令"),
    /**
     * 解锁提升机资源, 并发出离开提升机PLC指令
     */
    UNLOCK_LIFTER("解锁提升机资源, 并发出离开提升机PLC指令"),
    /**
     * 换向坡道
     */
    CHANGE_TO_RAMP("换向坡道"),
    /**
     * 换向巷道
     */
    CHANGE_TO_ROADWAY("换向巷道"),
    /**
     * 结束充电
     */
    ENDCHARGE("结束充电"),
    START_PLC("开启PLC流程"),
    /**
     * 开启充电
     */
    START_CHARG("开启充电"),
    /**
     * 请求打开自动门
     */
    ASSIGN_OPEN_DOOR("请求打开自动门"),
    /**
     * 请求关闭自动门
     */
    ASSIGN_CLOSE_DOOR("请求关闭自动门"),
    WAIT_ROLLER_LOAD_OK("等待滚筒载货完成"),
    WAIT_ROLLER_UNLOAD_OK("等待滚筒卸货完成"),

    FORK_UP_BY_MOVING("行驶时货叉上升"),
    FORK_DOWN_BY_MOVING("行驶时货叉下降"),
    FORK_UP("货叉上升"),
    FORK_DOWN("货叉下降"),
    FORK_GET_CARGO("货叉取货"),
    FORK_PUT_CARGO("货叉放货"),
    FORK_UP_AND_GET_CARGO("在起点抬高货叉然后去终点取货"),
    FORK_PUT_CARGO_AND_DOWN("在起点放货然后去终点放下货叉"),
    FORK_RUN_WITH_CARGO("货叉下降后带货行驶"),
    FORK_DOWN_TO_RUN("货叉行驶中下降"),
    FORK_UP_TO_RUN("货叉行驶中升至取货完成"),
    ;
    private String description;

    Action(String description) {
        this.description = description;
    }

    @Override
    public String toString() {
        return description;
    }
}
